// 是否手机号码
export function validatePhone(rule, value, callback) {
	const reg = /^[1][3-9][0-9]{9}$/;
	if (value == '' || value == undefined || value == null) {
		return callback(new Error('电话号码不能为空'))
	} else {
		if ((!reg.test(value)) && value != '') {
			callback(new Error('请输入正确的电话号码'));
		} else {
			callback();
		}
	}
}
// 是否身份证号码
export function validateIdNo(rule, value, callback) {
	if (!value) {
		return callback(new Error('身份证不能为空'))
	}
	if (!/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/.test(value)) {
		callback(new Error('请输入正确的二代身份证号码'))
	} else {
		callback()
	}
}
// 验证内容是否包含英文数字以及下划线
export function isPassword(rule, value, callback) {
	const reg = /^[_a-zA-Z0-9]+$/;
	if (value == '' || value == undefined || value == null) {
		callback();
	} else {
		if (!reg.test(value)) {
			callback(new Error('仅由英文字母，数字以及下划线组成'));
		} else {
			callback();
		}
	}
}

export function parseTime(time, pattern) {
	if (arguments.length === 0 || !time) {
		return null
	}
	const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
	let date
	if (typeof time === 'object') {
		date = time
	} else {
		if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
			time = parseInt(time)
		} else if (typeof time === 'string') {
			time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), '');
		}
		if ((typeof time === 'number') && (time.toString().length === 10)) {
			time = time * 1000
		}
		date = new Date(time)
	}
	const formatObj = {
		y: date.getFullYear(),
		m: date.getMonth() + 1,
		d: date.getDate(),
		h: date.getHours(),
		i: date.getMinutes(),
		s: date.getSeconds(),
		a: date.getDay()
	}
	const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
		let value = formatObj[key]
		// Note: getDay() returns 0 on Sunday
		if (key === 'a') {
			return ['日', '一', '二', '三', '四', '五', '六'][value]
		}
		if (result.length > 0 && value < 10) {
			value = '0' + value
		}
		return value || 0
	})
	return time_str
}